Spring Cloud(三):服务治理 Spring Cloud Eureka
前言
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务的一部分,它基于Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能。我们只需通过简单引入依赖和注解配置就能让 Spring Boot 构建的微服务应用轻松地与Eureka服务治理体系进行整合。
服务治理
服务治理是微服务架构中最核心和基础的模块,主要用来实现各个微服务实例的自动化注册与发现。
- 服务注册:在服务治理框架中,通常会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主机与端口号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。例:
服务名 | 位置 |
---|---|
服务A | 192.168.0.100:8000,192.168.0.101:8000 |
服务B | 192.168.0.100:9000,192.168.0.101:9000,192.168.0.102:9000 |
当A、B的进程均启动,并向服务中心注册自己的服务之后,注册中心会维护一个类似上面的服务清单。另外,服务注册为中心还需要以心跳的方式去检测清单中的服务是否可用,若不可用需要从服务清单中剔除,达到排除故障的效果。
- 服务发现:由于在服务治理框架下运作,服务间的调用不再通过指定具体的实例地址来发现,而是向服务名发起请求调用实现。所以,服务调用方在调用服务提供的接口时,并不知道具体的服务实例的位置。